package com.ruoyi.wms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import com.ruoyi.wms.domain.entity.employee.Employees;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 员工信息视图对象 employees
 *
 * @author 邓滔滔
 * @date 2024-11-27
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Employees.class)
public class EmployeesVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * 用户
     */
    @ExcelProperty(value = "用户")
    private Long userId;

    /**
     * 所属门店
     */
    @ExcelProperty(value = "所属门店")
    private Long storeId;

    /**
     * 员工编号
     */
    @ExcelProperty(value = "员工编号")
    private String employeeNumber;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别 ", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    private Integer gender;

    /**
     * 工号
     */
    @ExcelProperty(value = "工号")
    private String workNumber;

    /**
     * 出生年月
     */
    @ExcelProperty(value = "出生年月")
    private Date birthDate;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String idCardNumber;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String phoneNumber;

    /**
     * 电子邮箱
     */
    @ExcelProperty(value = "电子邮箱")
    private String email;

    /**
     * 家庭地址
     */
    @ExcelProperty(value = "家庭地址")
    private String homeAddress;

    /**
     * 岗位
     */
    @ExcelProperty(value = "岗位")
    private Long positionId;

    /**
     * 入职日期
     */
    @ExcelProperty(value = "入职日期")
    private Date joinDate;

    /**
     * 离职日期
     */
    @ExcelProperty(value = "离职日期")
    private Date leaveDate;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_normal_disable")
    private Integer status;

    /**
     * 月薪
     */
    @ExcelProperty(value = "月薪")
    private BigDecimal monthlySalary;

    /**
     * 银行账号
     */
    @ExcelProperty(value = "银行账号")
    private String bankAccount;

    /**
     * 学历
     */
    @ExcelProperty(value = "学历", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "degree")
    private String education;

    /**
     * 工作经验
     */
    @ExcelProperty(value = "工作经验")
    private String workExperience;

    /**
     * 照片路径
     */
    @ExcelProperty(value = "照片路径")
    private String photoPath;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ExcelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 修改人
     */
    @ExcelProperty(value = "修改人")
    private String updateBy;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;


}
